home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / sos3-2.lha / src / dir / dir_sos.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-17  |  31.6 KB  |  421 lines

  1. #include "dir_sos.h"
  2. #include "err.h"
  3. #include "cci_use.h"
  4. static sos_Object _univ_7053596_44024(sos_Object,sos_Object_Array p){
  5.    sos_Object o1=p[0], o2=p[1], o3=p[2];
  6.    return sos_Object::make(sos_String_sos_Object_Association::create(::make_sos_Container(o1),::make_sos_Bool(o2),::make_sos_Bool(o3)));}
  7. static sos_Object _univ_7053596_39360(sos_Object,sos_Object_Array p){
  8.    sos_Object o1=p[0], o2=p[1];
  9.    return sos_Object::make(sos_String_sos_Object_Association::copy(sos_String_sos_Object_Association::make(o1),::make_sos_Container(o2)));}
  10. static sos_Object _univ_7053596_39928(sos_Object,sos_Object_Array p){
  11.    sos_Object o1=p[0], o2=p[1];
  12.    return sos_Object::make(sos_String_sos_Object_Association::clone(sos_String_sos_Object_Association::make(o1),::make_sos_Container(o2)));}
  13. static void _init_stat_7053596_3392(){
  14. }
  15. static void _init_new_7053596_3392(){
  16.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_String_sos_Object_Association_type,(_sos_Object*)__sos_Object_sos_Object_Association_obj);
  17.    cci_Schema_impl::enter_make_obj(_sos_Aggregate_type,_sos_String_sos_Object_Association_type,(_sos_Aggregate*)__sos_Object_sos_Object_Association_obj);
  18.    cci_Schema_impl::enter_make_obj(_sos_Object_sos_Object_Association_type,_sos_String_sos_Object_Association_type,(_sos_Object_sos_Object_Association*)__sos_Object_sos_Object_Association_obj);
  19. }
  20. sos_String_sos_Object_Association::operator sos_Object(){return(sos_Object::make(_tpid,_ref));}
  21. sos_String_sos_Object_Association::operator sos_Aggregate(){return(sos_Aggregate::make(_tpid,_ref));}
  22. sos_String_sos_Object_Association::operator sos_Object_sos_Object_Association(){return(sos_Object_sos_Object_Association::make(_tpid,_ref));}
  23. sos_String_sos_Object_Association sos_String_sos_Object_Association::make(sos_Typed_id&p){
  24.    sos_String_sos_Object_Association o; o._tpid=p;
  25.    o._ref=_sos_Object_sos_Object_Association::_make(p); return o;}
  26. sos_String_sos_Object_Association sos_String_sos_Object_Association::make(sos_Root_class& o){return sos_String_sos_Object_Association::make(o.typed_id());}
  27.    sos_Offset sos_String_sos_Object_Association::_size(){return _ref->_size();}
  28. sos_String_sos_Object_Association sos_String_sos_Object_Association::create(sos_Container _cnt,sos_Bool role1_based_on_equal,sos_Bool role2_based_on_equal){
  29.    sos_String_sos_Object_Association _x=sos_String_sos_Object_Association::make(sos_Typed_id::allocate(sos_String_sos_Object_Association_type,_cnt,10));
  30.    _x._ref->_create(_x._tpid,role1_based_on_equal,role2_based_on_equal);
  31.    return _x;
  32. }
  33. sos_String_sos_Object_Association sos_String_sos_Object_Association::copy(sos_String_sos_Object_Association y,sos_Container cnt){
  34.    sos_String_sos_Object_Association x=sos_String_sos_Object_Association::make(sos_Typed_id::allocate(sos_String_sos_Object_Association_type,cnt,10));
  35.    x._ref->_copy(x._tpid,y);
  36.    x.assign(y);
  37.    return x;
  38. }
  39. sos_String_sos_Object_Association sos_String_sos_Object_Association::clone(sos_String_sos_Object_Association o,sos_Container cnt){
  40.    return sos_String_sos_Object_Association::make (o._ref->_clone(o._tpid,cnt));
  41. }
  42. void sos_String_sos_Object_Association::destroy(){(_ref->destroy(_tpid));}
  43. sos_Int sos_String_sos_Object_Association::hash_value(){return (_ref->hash_value(_tpid));}
  44. sos_Bool sos_String_sos_Object_Association::is_role2(sos_Object _p1){return (_ref->is_role2(_tpid,(_p1)));}
  45. sos_String sos_String_sos_Object_Association::get_role1(sos_Cursor _p1){return sos_String::make(_ref->get_role1(_tpid,(_p1)));}
  46. sos_Object sos_String_sos_Object_Association::get_role2(sos_Cursor _p1){return (_ref->get_role2(_tpid,(_p1)));}
  47. sos_Bool sos_String_sos_Object_Association::is_empty(){return (_ref->is_empty(_tpid));}
  48. sos_Int sos_String_sos_Object_Association::card(){return (_ref->card(_tpid));}
  49. sos_Cursor sos_String_sos_Object_Association::open_cursor(sos_Container _p1){return (_ref->open_cursor(_tpid,_p1));}
  50. void sos_String_sos_Object_Association::close_cursor(sos_Cursor _p1){(_ref->close_cursor(_tpid,_p1));}
  51. sos_Cursor sos_String_sos_Object_Association::duplicate(sos_Cursor _p1){return (_ref->duplicate(_tpid,_p1));}
  52. sos_Bool sos_String_sos_Object_Association::is_valid(sos_Cursor _p1){return (_ref->is_valid(_tpid,_p1));}
  53. void sos_String_sos_Object_Association::remove_at(sos_Cursor _p1){(_ref->remove_at(_tpid,_p1));}
  54. sos_Bool sos_String_sos_Object_Association::to_first(sos_Cursor _p1){return (_ref->to_first(_tpid,_p1));}
  55. sos_Bool sos_String_sos_Object_Association::to_last(sos_Cursor _p1){return (_ref->to_last(_tpid,_p1));}
  56. sos_Bool sos_String_sos_Object_Association::to_pred(sos_Cursor _p1,sos_Int _p2){return (_ref->to_pred(_tpid,_p1,_p2));}
  57. sos_Bool sos_String_sos_Object_Association::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  58. sos_Bool sos_String_sos_Object_Association::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  59. sos_Bool sos_String_sos_Object_Association::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  60. sos_Bool sos_String_sos_Object_Association::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  61. void sos_String_sos_Object_Association::assign(sos_Object source){(_ref->assign(_tpid,source));}
  62. sos_Bool sos_String_sos_Object_Association::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  63. sos_Bool sos_String_sos_Object_Association::is_role1(sos_String _p1){return (_ref->is_role1(_tpid,sos_Object(_p1)));}
  64. void sos_String_sos_Object_Association::clear(){(_ref->clear(_tpid));}
  65. sos_Bool sos_String_sos_Object_Association::to_succ(sos_Cursor _p1,sos_Int _p2){return (_ref->to_succ(_tpid,_p1,_p2));}
  66. sos_Type sos_String_sos_Object_Association::type(){return (_ref->type(_tpid));}
  67. sos_Bool sos_String_sos_Object_Association::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  68. sos_Bool sos_String_sos_Object_Association::is_value(){return (_ref->is_value(_tpid));}
  69. sos_Int sos_String_sos_Object_Association::size(){return (_ref->size(_tpid));}
  70. sos_Bool sos_String_sos_Object_Association::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  71. sos_Bool sos_String_sos_Object_Association::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  72. sos_Comp_result sos_String_sos_Object_Association::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  73. static sos_Object _univ_7053596_40952(sos_Object,sos_Object_Array p){
  74.    sos_Object o1=p[0], o2=p[1], o3=p[2], o4=p[3];
  75.    return sos_Object::make(sos_String_sos_Object_Mapping::create(::make_sos_Container(o1),::make_sos_Bool(o2),::make_sos_Bool(o3),::make_sos_Bool(o4)));}
  76. static sos_Object _univ_7053596_48864(sos_Object,sos_Object_Array p){
  77.    sos_Object o1=p[0], o2=p[1];
  78.    return sos_Object::make(sos_String_sos_Object_Mapping::copy(sos_String_sos_Object_Mapping::make(o1),::make_sos_Container(o2)));}
  79. static sos_Object _univ_7053596_48928(sos_Object,sos_Object_Array p){
  80.    sos_Object o1=p[0], o2=p[1];
  81.    return sos_Object::make(sos_String_sos_Object_Mapping::clone(sos_String_sos_Object_Mapping::make(o1),::make_sos_Container(o2)));}
  82. static void _init_stat_7053596_3072(){
  83. }
  84. static void _init_new_7053596_3072(){
  85.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_String_sos_Object_Mapping_type,(_sos_Object*)__sos_Object_sos_Object_Mapping_obj);
  86.    cci_Schema_impl::enter_make_obj(_sos_Aggregate_type,_sos_String_sos_Object_Mapping_type,(_sos_Aggregate*)__sos_Object_sos_Object_Mapping_obj);
  87.    cci_Schema_impl::enter_make_obj(_sos_Object_sos_Object_Association_type,_sos_String_sos_Object_Mapping_type,(_sos_Object_sos_Object_Association*)__sos_Object_sos_Object_Mapping_obj);
  88.    cci_Schema_impl::enter_make_obj(_sos_Object_sos_Object_Mapping_type,_sos_String_sos_Object_Mapping_type,(_sos_Object_sos_Object_Mapping*)__sos_Object_sos_Object_Mapping_obj);
  89. }
  90. sos_String_sos_Object_Mapping::operator sos_Object(){return(sos_Object::make(_tpid,_ref));}
  91. sos_String_sos_Object_Mapping::operator sos_Aggregate(){return(sos_Aggregate::make(_tpid,_ref));}
  92. sos_String_sos_Object_Mapping::operator sos_String_sos_Object_Association(){return(sos_String_sos_Object_Association::make(_tpid,_ref));}
  93. sos_String_sos_Object_Mapping::operator sos_Object_sos_Object_Association(){return(sos_Object_sos_Object_Association::make(_tpid,_ref));}
  94. sos_String_sos_Object_Mapping::operator sos_Object_sos_Object_Mapping(){return(sos_Object_sos_Object_Mapping::make(_tpid,_ref));}
  95. sos_String_sos_Object_Mapping sos_String_sos_Object_Mapping::make(sos_Typed_id&p){
  96.    sos_String_sos_Object_Mapping o; o._tpid=p;
  97.    o._ref=_sos_Object_sos_Object_Mapping::_make(p); return o;}
  98. sos_String_sos_Object_Mapping sos_String_sos_Object_Mapping::make(sos_Root_class& o){return sos_String_sos_Object_Mapping::make(o.typed_id());}
  99.    sos_Offset sos_String_sos_Object_Mapping::_size(){return _ref->_size();}
  100. sos_String_sos_Object_Mapping sos_String_sos_Object_Mapping::create(sos_Container _cnt,sos_Bool list_cursor,sos_Bool key_based_on_equal,sos_Bool info_based_on_equal){
  101.    sos_String_sos_Object_Mapping _x=sos_String_sos_Object_Mapping::make(sos_Typed_id::allocate(sos_String_sos_Object_Mapping_type,_cnt,71));
  102.    _x._ref->_create(_x._tpid,list_cursor,key_based_on_equal,info_based_on_equal);
  103.    return _x;
  104. }
  105. sos_String_sos_Object_Mapping sos_String_sos_Object_Mapping::copy(sos_String_sos_Object_Mapping y,sos_Container cnt){
  106.    sos_String_sos_Object_Mapping x=sos_String_sos_Object_Mapping::make(sos_Typed_id::allocate(sos_String_sos_Object_Mapping_type,cnt,71));
  107.    x._ref->_copy(x._tpid,y);
  108.    x.assign(y);
  109.    return x;
  110. }
  111. sos_String_sos_Object_Mapping sos_String_sos_Object_Mapping::clone(sos_String_sos_Object_Mapping o,sos_Container cnt){
  112.    return sos_String_sos_Object_Mapping::make (o._ref->_clone(o._tpid,cnt));
  113. }
  114. void sos_String_sos_Object_Mapping::destroy(){(_ref->destroy(_tpid));}
  115. sos_Int sos_String_sos_Object_Mapping::hash_value(){return (_ref->hash_value(_tpid));}
  116. sos_Object sos_String_sos_Object_Mapping::operator[](sos_String _p1){return (_ref->__index(_tpid,sos_Object(_p1)));}
  117. sos_Object sos_String_sos_Object_Mapping::get_info(sos_Cursor _p1){return (_ref->get_info(_tpid,(_p1)));}
  118. void sos_String_sos_Object_Mapping::set_info(sos_Cursor _p1,sos_Object _p2){(_ref->set_info(_tpid,(_p1),(_p2)));}
  119. sos_Bool sos_String_sos_Object_Mapping::is_role2(sos_Object _p1){return (_ref->is_role2(_tpid,(_p1)));}
  120. sos_Int sos_String_sos_Object_Mapping::card(){return (_ref->card(_tpid));}
  121. sos_Cursor sos_String_sos_Object_Mapping::open_cursor(sos_Container _p1){return (_ref->open_cursor(_tpid,_p1));}
  122. void sos_String_sos_Object_Mapping::close_cursor(sos_Cursor _p1){(_ref->close_cursor(_tpid,_p1));}
  123. sos_Cursor sos_String_sos_Object_Mapping::duplicate(sos_Cursor _p1){return (_ref->duplicate(_tpid,_p1));}
  124. sos_Bool sos_String_sos_Object_Mapping::to_last(sos_Cursor _p1){return (_ref->to_last(_tpid,_p1));}
  125. sos_Bool sos_String_sos_Object_Mapping::to_pred(sos_Cursor _p1,sos_Int _p2){return (_ref->to_pred(_tpid,_p1,_p2));}
  126. sos_Bool sos_String_sos_Object_Mapping::is_empty(){return (_ref->is_empty(_tpid));}
  127. sos_Bool sos_String_sos_Object_Mapping::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  128. sos_Bool sos_String_sos_Object_Mapping::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  129. sos_Bool sos_String_sos_Object_Mapping::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  130. void sos_String_sos_Object_Mapping::assign(sos_Object source){(_ref->assign(_tpid,source));}
  131. sos_Bool sos_String_sos_Object_Mapping::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  132. sos_Bool sos_String_sos_Object_Mapping::is_info(sos_Object _p1){return (_ref->is_info(_tpid,(_p1)));}
  133. void sos_String_sos_Object_Mapping::clear(){(_ref->clear(_tpid));}
  134. void sos_String_sos_Object_Mapping::insert_after(sos_Cursor _p1,sos_String _p2,sos_Object _p3){(_ref->insert_after(_tpid,(_p1),sos_Object(_p2),(_p3)));}
  135. sos_String sos_String_sos_Object_Mapping::get_role1(sos_Cursor _p1){return sos_String::make(_ref->get_role1(_tpid,(_p1)));}
  136. sos_Object sos_String_sos_Object_Mapping::get_role2(sos_Cursor _p1){return (_ref->get_role2(_tpid,(_p1)));}
  137. void sos_String_sos_Object_Mapping::remove_at(sos_Cursor _p1){(_ref->remove_at(_tpid,_p1));}
  138. sos_Bool sos_String_sos_Object_Mapping::is_valid(sos_Cursor _p1){return (_ref->is_valid(_tpid,_p1));}
  139. sos_Bool sos_String_sos_Object_Mapping::to_first(sos_Cursor _p1){return (_ref->to_first(_tpid,_p1));}
  140. sos_Bool sos_String_sos_Object_Mapping::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  141. sos_Bool sos_String_sos_Object_Mapping::is_key(sos_String _p1){return (_ref->is_key(_tpid,sos_Object(_p1)));}
  142. void sos_String_sos_Object_Mapping::remove(sos_String _p1){(_ref->remove(_tpid,sos_Object(_p1)));}
  143. sos_String sos_String_sos_Object_Mapping::get_key(sos_Cursor _p1){return sos_String::make(_ref->get_key(_tpid,(_p1)));}
  144. void sos_String_sos_Object_Mapping::move_cursor(sos_Cursor _p1,sos_String _p2){(_ref->move_cursor(_tpid,(_p1),sos_Object(_p2)));}
  145. sos_Bool sos_String_sos_Object_Mapping::is_role1(sos_String _p1){return (_ref->is_role1(_tpid,sos_Object(_p1)));}
  146. sos_Bool sos_String_sos_Object_Mapping::to_succ(sos_Cursor _p1,sos_Int _p2){return (_ref->to_succ(_tpid,_p1,_p2));}
  147. sos_Bool sos_String_sos_Object_Mapping::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  148. sos_Bool sos_String_sos_Object_Mapping::is_value(){return (_ref->is_value(_tpid));}
  149. sos_Bool sos_String_sos_Object_Mapping::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  150. sos_Comp_result sos_String_sos_Object_Mapping::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  151. void sos_String_sos_Object_Mapping::insert(sos_String _p1,sos_Object _p2){(_ref->insert(_tpid,sos_Object(_p1),(_p2)));}
  152. void sos_String_sos_Object_Mapping::insert_before(sos_Cursor _p1,sos_String _p2,sos_Object _p3){(_ref->insert_before(_tpid,(_p1),sos_Object(_p2),(_p3)));}
  153. sos_Int sos_String_sos_Object_Mapping::size(){return (_ref->size(_tpid));}
  154. sos_Type sos_String_sos_Object_Mapping::type(){return (_ref->type(_tpid));}
  155. sos_Bool sos_String_sos_Object_Mapping::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  156. _sos_Object_Directory* _sos_Object_Directory::_make(sos_Typed_id &tpid)
  157. {  return (_sos_Object_Directory*)cci_Schema_impl::get_make_obj(_sos_Object_Directory_type,tpid.get_tp());
  158. }
  159. sos_Offset _sos_Object_Directory::_size(){return 87;}
  160. void _sos_Object_Directory::_create(sos_Typed_id&_tpid,sos_String name){
  161.    sos_Object_Directory _x=sos_Object_Directory::make(_tpid,this);
  162. _sos_Object_sos_Object_Association::_create_comps(_x,TRUE,FALSE);
  163. _sos_Object_sos_Object_Mapping::_create_comps(_x,FALSE,TRUE,FALSE);
  164. _sos_Object_Directory::_create_comps(_x,name);
  165. _sos_Object_sos_Object_Mapping::local_initialize(_x);
  166. _sos_Object_Directory::local_initialize(_x);
  167. }
  168. void _sos_Object_Directory::_create_comps(sos_Object_Directory _x,sos_String name){
  169.       _x.set_name(name);
  170. }
  171. void _sos_Object_Directory::_copy(sos_Typed_id&_tpid,sos_Object_Directory y){
  172.    sos_Object_Directory x=sos_Object_Directory::make(_tpid,this);
  173. _sos_Object_sos_Object_Association::_copy_comps(x,y);
  174. _sos_Object_sos_Object_Mapping::_copy_comps(x,y);
  175. _sos_Object_Directory::_copy_comps(x,y);
  176. _sos_Object_sos_Object_Mapping::local_initialize(x);
  177. _sos_Object_Directory::local_initialize(x);
  178. }
  179. void _sos_Object_Directory::_copy_comps(sos_Object_Directory x,sos_Object_Directory y){
  180.    x.set_name(y.get_name());
  181. }
  182. sos_Object _sos_Object_Directory::_clone(sos_Typed_id&_tpid,sos_Container cnt){
  183.    sos_Object_Directory _x=sos_Object_Directory::make(_tpid,this);
  184.    return sos_Object_Directory::copy(_x,cnt);}
  185. void _sos_Object_Directory::destroy(sos_Typed_id&_tpid){
  186.    _sos_Object_Directory::local_finalize(sos_Object_Directory::make(_tpid,this));
  187.    _sos_Object_sos_Object_Mapping::local_finalize(sos_Object_sos_Object_Mapping::make(_tpid,this));
  188.    _tpid.container().deallocate(_tpid.offset(),87);}
  189. void _sos_Object_Directory::assign(sos_Typed_id&_tpid,sos_Object o){
  190.    sos_Object_Directory x=sos_Object_Directory::make(_tpid,this);
  191.    _sos_Object::local_assign(x,o);
  192.    _sos_Aggregate::local_assign(x,o);
  193.    _sos_Object_sos_Object_Association::local_assign(x,o);
  194.    _sos_Object_sos_Object_Mapping::local_assign(x,o);
  195.    _sos_Named::local_assign(x,o);
  196.    _sos_Object_Directory::local_assign(x,o);
  197. }
  198. void _sos_Object_Directory::local_assign(sos_Object_Directory x,sos_Object o){
  199.    sos_Object_Directory y=sos_Object_Directory::make(o);
  200.    y.container().copy(y.offset()+y._ref->_offset_sos_Object_Directory(),16,x.container(),x.offset()+x._ref->_offset_sos_Object_Directory());}
  201. sos_Bool _sos_Object_Directory::equal(sos_Typed_id&_tpid,sos_Object o,sos_Eq_kind eq_kind){
  202.    sos_Object_Directory x=sos_Object_Directory::make(_tpid,this);
  203.    if (! _sos_Object::local_equal(x,o,eq_kind)) return FALSE;
  204.    if (! _sos_Aggregate::local_equal(x,o,eq_kind)) return FALSE;
  205.    if (! _sos_Object_sos_Object_Association::local_equal(x,o,eq_kind)) return FALSE;
  206.    if (! _sos_Object_sos_Object_Mapping::local_equal(x,o,eq_kind)) return FALSE;
  207.    if (! _sos_Named::local_equal(x,o,eq_kind)) return FALSE;
  208.    if (! _sos_Object_Directory::local_equal(x,o,eq_kind)) return FALSE;
  209.    return TRUE;}
  210. sos_Bool _sos_Object_Directory::local_equal(sos_Object_Directory x,sos_Object o,sos_Eq_kind eq_kind){
  211.    if (eq_kind==EQ_STRONG) {if (!o.has_type(x.type())) return FALSE;}
  212.    else if (!o.isa(x.type())) return FALSE;
  213.    sos_Object_Directory y=sos_Object_Directory::make(o);
  214.    return (sos_Bool)x.container().equal(x.offset()+x._ref->_offset_sos_Object_Directory(),16,y.container(),y.offset()+y._ref->_offset_sos_Object_Directory());}
  215. sos_Int _sos_Object_Directory::hash_value(sos_Typed_id&_tpid){
  216.    sos_Object_Directory x=sos_Object_Directory::make(_tpid,this);
  217.    sos_Int result=0;
  218.    result ^= _sos_Object::local_hash_value(x);
  219.    result ^= _sos_Aggregate::local_hash_value(x);
  220.    result ^= _sos_Object_sos_Object_Association::local_hash_value(x);
  221.    result ^= _sos_Object_sos_Object_Mapping::local_hash_value(x);
  222.    result ^= _sos_Named::local_hash_value(x);
  223.    result ^= _sos_Object_Directory::local_hash_value(x);
  224.    return result;}
  225. sos_Int _sos_Object_Directory::local_hash_value(sos_Object_Directory x){
  226.    return x.container().hash_value(x.offset()+x._ref->_offset_sos_Object_Directory(),16);}
  227. sos_String _sos_Object_Directory::get_name(sos_Typed_id&_tpid)
  228. {  union {sos_Typed_id x; char c[16];} u; sos_Typed_id a;
  229.    _tpid.container().read(_tpid.offset()+_offset_sos_Object_Directory()+0,16,&u);
  230.    bcopy_to_sos_Typed_id(&a,&u);
  231.    return sos_String::make(a);}
  232. void _sos_Object_Directory::set_name(sos_Typed_id&_tpid,sos_String a){
  233.    union {sos_Typed_id x; char c[16];} u;
  234.    sos_Typed_id x=a.typed_id();
  235.    bcopy_from_sos_Typed_id(&x,&u);
  236.    _tpid.container().write(_tpid.offset() + _offset_sos_Object_Directory() + 0,16,&u);
  237. }
  238. static sos_Object _univ_7053596_48992(sos_Object o,sos_Object_Array){
  239.    sos_Object_Directory::make (o).destroy();
  240.    return NO_OBJECT;}
  241. static sos_Object _univ_7053596_49056(sos_Object o,sos_Object_Array p){
  242.    sos_Object o1=p[0];
  243.    sos_Object_Directory::make (o).assign(sos_Object::make(o1));
  244.    return NO_OBJECT;}
  245. static sos_Object _univ_7053596_49120(sos_Object o,sos_Object_Array p){
  246.    sos_Object o1=p[0], o2=p[1];
  247.    return ::make_sos_Bool_object(sos_Object_Directory::make (o).equal(sos_Object::make(o1),::make_sos_Eq_kind(o2)));}
  248. static sos_Object _univ_7053596_49184(sos_Object o,sos_Object_Array){
  249.    return ::make_sos_Int_object(sos_Object_Directory::make (o).hash_value());}
  250. static sos_Object _univ_7053596_49248(sos_Object o,sos_Object_Array p){
  251.    sos_Object o1=p[0], o2=p[1];
  252.    sos_Object_Directory::make (o).insert(sos_String::make(o1),sos_Object::make(o2));
  253.    return NO_OBJECT;}
  254. static sos_Object _univ_7053596_49312(sos_Object o,sos_Object_Array p){
  255.    sos_Object o1=p[0];
  256.    sos_Object_Directory::make (o).remove(sos_String::make(o1));
  257.    return NO_OBJECT;}
  258. static void _init_meth_7053596_1288(){
  259.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),48992),(cci_Fun)_univ_7053596_48992);
  260.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49056),(cci_Fun)_univ_7053596_49056);
  261.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49120),(cci_Fun)_univ_7053596_49120);
  262.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49184),(cci_Fun)_univ_7053596_49184);
  263.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49248),(cci_Fun)_univ_7053596_49248);
  264.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49312),(cci_Fun)_univ_7053596_49312);
  265. }
  266. static sos_Object _univ_7053596_49376(sos_Object o,sos_Object_Array){
  267.    return sos_Object::make(sos_Object_Directory::make (o).get_name());}
  268. static sos_Object _univ_7053596_49440(sos_Object o,sos_Object_Array p){
  269.    sos_Object o1=p[0];
  270.    sos_Object_Directory::make (o).set_name(sos_String::make(o1));
  271.    return NO_OBJECT;}
  272. static void _init_comp_7053596_1288(){
  273.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49376),(cci_Fun)_univ_7053596_49376);
  274.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49440),(cci_Fun)_univ_7053596_49440);
  275. }
  276. static sos_Object _univ_7053596_49504(sos_Object,sos_Object_Array p){
  277.    sos_Object o1=p[0], o2=p[1];
  278.    return sos_Object::make(sos_Object_Directory::create(::make_sos_Container(o1),sos_String::make(o2)));}
  279. static sos_Object _univ_7053596_49568(sos_Object,sos_Object_Array p){
  280.    sos_Object o1=p[0], o2=p[1];
  281.    return sos_Object::make(sos_Object_Directory::copy(sos_Object_Directory::make(o1),::make_sos_Container(o2)));}
  282. static sos_Object _univ_7053596_49632(sos_Object,sos_Object_Array p){
  283.    sos_Object o1=p[0], o2=p[1];
  284.    return sos_Object::make(sos_Object_Directory::clone(sos_Object_Directory::make(o1),::make_sos_Container(o2)));}
  285. static sos_Object _univ_7053596_49696(sos_Object,sos_Object_Array){
  286.    return sos_Object::make(sos_Object_Directory::root());}
  287. static sos_Object _univ_7053596_49760(sos_Object,sos_Object_Array p){
  288.    sos_Object o1=p[0];
  289.    return sos_Object::make(sos_Object_Directory::lookup(sos_String::make(o1)));}
  290. static sos_Object _univ_7053596_49824(sos_Object,sos_Object_Array){
  291.    sos_Object_Directory::set_wd_from_env();
  292.    return NO_OBJECT;}
  293. static sos_Object _univ_7053596_49888(sos_Object,sos_Object_Array p){
  294.    sos_Object o1=p[0];
  295.    sos_Object_Directory::set_wd(sos_String::make(o1));
  296.    return NO_OBJECT;}
  297. static sos_Object _univ_7053596_49952(sos_Object,sos_Object_Array){
  298.    return sos_Object::make(sos_Object_Directory::get_wd());}
  299. static void _init_stat_7053596_1288(){
  300.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49504),(cci_Fun)_univ_7053596_49504);
  301.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49568),(cci_Fun)_univ_7053596_49568);
  302.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49632),(cci_Fun)_univ_7053596_49632);
  303.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49696),(cci_Fun)_univ_7053596_49696);
  304.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49760),(cci_Fun)_univ_7053596_49760);
  305.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49824),(cci_Fun)_univ_7053596_49824);
  306.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49888),(cci_Fun)_univ_7053596_49888);
  307.    cci_Schema_impl::enter_fun(sos_Id::make(sos_Container::make(7053596),49952),(cci_Fun)_univ_7053596_49952);
  308. }
  309. _sos_Object_Directory *__sos_Object_Directory_obj;
  310. static void _init_new_7053596_1288(){
  311.    cci_Schema_impl::enter_make_obj(_sos_Object_type,_sos_Object_Directory_type,(_sos_Object*)__sos_Object_Directory_obj);
  312.    cci_Schema_impl::enter_make_obj(_sos_Aggregate_type,_sos_Object_Directory_type,(_sos_Aggregate*)__sos_Object_Directory_obj);
  313.    cci_Schema_impl::enter_make_obj(_sos_Object_sos_Object_Association_type,_sos_Object_Directory_type,(_sos_Object_sos_Object_Association*)__sos_Object_Directory_obj);
  314.    cci_Schema_impl::enter_make_obj(_sos_Object_sos_Object_Mapping_type,_sos_Object_Directory_type,(_sos_Object_sos_Object_Mapping*)__sos_Object_Directory_obj);
  315.    cci_Schema_impl::enter_make_obj(_sos_Named_type,_sos_Object_Directory_type,(_sos_Named*)__sos_Object_Directory_obj);
  316.    cci_Schema_impl::enter_make_obj(_sos_Object_Directory_type,_sos_Object_Directory_type,(_sos_Object_Directory*)__sos_Object_Directory_obj);
  317. }
  318. sos_Object_Directory::operator sos_Object(){return(sos_Object::make(_tpid,_ref));}
  319. sos_Object_Directory::operator sos_Aggregate(){return(sos_Aggregate::make(_tpid,_ref));}
  320. sos_Object_Directory::operator sos_String_sos_Object_Association(){return(sos_String_sos_Object_Association::make(_tpid,_ref));}
  321. sos_Object_Directory::operator sos_Object_sos_Object_Association(){return(sos_Object_sos_Object_Association::make(_tpid,_ref));}
  322. sos_Object_Directory::operator sos_String_sos_Object_Mapping(){return(sos_String_sos_Object_Mapping::make(_tpid,_ref));}
  323. sos_Object_Directory::operator sos_Object_sos_Object_Mapping(){return(sos_Object_sos_Object_Mapping::make(_tpid,_ref));}
  324. sos_Object_Directory::operator sos_Named(){return(sos_Named::make(_tpid,_ref));}
  325. sos_Object_Directory sos_Object_Directory::make(sos_Typed_id&p){
  326.    sos_Object_Directory o; o._tpid=p;
  327.    o._ref=_sos_Object_Directory::_make(p); return o;}
  328. sos_Object_Directory sos_Object_Directory::make(sos_Root_class& o){return sos_Object_Directory::make(o.typed_id());}
  329.    sos_Offset sos_Object_Directory::_size(){return _ref->_size();}
  330. sos_Object_Directory sos_Object_Directory::create(sos_Container _cnt,sos_String name){
  331.    sos_Object_Directory _x=sos_Object_Directory::make(sos_Typed_id::allocate(sos_Object_Directory_type,_cnt,87));
  332.    _x._ref->_create(_x._tpid,name);
  333.    return _x;
  334. }
  335. sos_Object_Directory sos_Object_Directory::copy(sos_Object_Directory y,sos_Container cnt){
  336.    sos_Object_Directory x=sos_Object_Directory::make(sos_Typed_id::allocate(sos_Object_Directory_type,cnt,87));
  337.    x._ref->_copy(x._tpid,y);
  338.    x.assign(y);
  339.    return x;
  340. }
  341. sos_Object_Directory sos_Object_Directory::clone(sos_Object_Directory o,sos_Container cnt){
  342.    return sos_Object_Directory::make (o._ref->_clone(o._tpid,cnt));
  343. }
  344. void sos_Object_Directory::destroy(){(_ref->destroy(_tpid));}
  345. sos_Int sos_Object_Directory::hash_value(){return (_ref->hash_value(_tpid));}
  346. sos_Object_Directory sos_Object_Directory::root(){return (_sos_Object_Directory::root());}
  347. sos_Object sos_Object_Directory::operator[](sos_String _p1){return (_ref->__index(_tpid,sos_Object(_p1)));}
  348. sos_Object sos_Object_Directory::get_info(sos_Cursor _p1){return (_ref->get_info(_tpid,(_p1)));}
  349. void sos_Object_Directory::set_info(sos_Cursor _p1,sos_Object _p2){(_ref->set_info(_tpid,(_p1),(_p2)));}
  350. sos_Bool sos_Object_Directory::is_role2(sos_Object _p1){return (_ref->is_role2(_tpid,(_p1)));}
  351. sos_Int sos_Object_Directory::card(){return (_ref->card(_tpid));}
  352. sos_Cursor sos_Object_Directory::open_cursor(sos_Container _p1){return (_ref->open_cursor(_tpid,_p1));}
  353. void sos_Object_Directory::close_cursor(sos_Cursor _p1){(_ref->close_cursor(_tpid,_p1));}
  354. sos_Cursor sos_Object_Directory::duplicate(sos_Cursor _p1){return (_ref->duplicate(_tpid,_p1));}
  355. sos_Bool sos_Object_Directory::to_last(sos_Cursor _p1){return (_ref->to_last(_tpid,_p1));}
  356. sos_Bool sos_Object_Directory::to_pred(sos_Cursor _p1,sos_Int _p2){return (_ref->to_pred(_tpid,_p1,_p2));}
  357. sos_Bool sos_Object_Directory::is_empty(){return (_ref->is_empty(_tpid));}
  358. sos_Bool sos_Object_Directory::isa(sos_Type _p1){return (_ref->isa(_tpid,_p1));}
  359. sos_Bool sos_Object_Directory::operator==(sos_Object _p1){return (_ref->__equal(_tpid,_p1));}
  360. sos_Bool sos_Object_Directory::operator!=(sos_Object _p1){return (_ref->__not_equal(_tpid,_p1));}
  361. void sos_Object_Directory::local_assign(sos_Object_Directory x,sos_Object_Directory y){(_sos_Object_Directory::local_assign(x,y));}
  362. sos_Bool sos_Object_Directory::local_equal(sos_Object_Directory x,sos_Object_Directory y,sos_Eq_kind eq_kind){return (_sos_Object_Directory::local_equal(x,y,eq_kind));}
  363. void sos_Object_Directory::assign(sos_Object source){(_ref->assign(_tpid,source));}
  364. sos_Bool sos_Object_Directory::equal(sos_Object o,sos_Eq_kind eq_kind){return (_ref->equal(_tpid,o,eq_kind));}
  365. void sos_Object_Directory::insert(sos_String _p1,sos_Object _p2){(_ref->insert(_tpid,sos_Object(_p1),(_p2)));}
  366. void sos_Object_Directory::local_finalize(sos_Object_Directory _p1){(_sos_Object_Directory::local_finalize(_p1));}
  367. sos_Bool sos_Object_Directory::is_info(sos_Object _p1){return (_ref->is_info(_tpid,(_p1)));}
  368. void sos_Object_Directory::clear(){(_ref->clear(_tpid));}
  369. void sos_Object_Directory::insert_before(sos_Cursor _p1,sos_String _p2,sos_Object _p3){(_ref->insert_before(_tpid,(_p1),sos_Object(_p2),(_p3)));}
  370. sos_Int sos_Object_Directory::size(){return (_ref->size(_tpid));}
  371. sos_Bool sos_Object_Directory::get_role1_based_on_equal(){return (_ref->get_role1_based_on_equal(_tpid));}
  372. void sos_Object_Directory::set_role1_based_on_equal(sos_Bool _p1){(_ref->set_role1_based_on_equal(_tpid,_p1));}
  373. sos_Bool sos_Object_Directory::get_role2_based_on_equal(){return (_ref->get_role2_based_on_equal(_tpid));}
  374. void sos_Object_Directory::set_role2_based_on_equal(sos_Bool _p1){(_ref->set_role2_based_on_equal(_tpid,_p1));}
  375. sos_Type sos_Object_Directory::type(){return (_ref->type(_tpid));}
  376. sos_Bool sos_Object_Directory::like(sos_Object _p1){return (_ref->like(_tpid,_p1));}
  377. sos_String sos_Object_Directory::get_name(){return (_ref->get_name(_tpid));}
  378. void sos_Object_Directory::set_name(sos_String _p1){(_ref->set_name(_tpid,_p1));}
  379. void sos_Object_Directory::set_wd_from_env(){(_sos_Object_Directory::set_wd_from_env());}
  380. void sos_Object_Directory::insert_after(sos_Cursor _p1,sos_String _p2,sos_Object _p3){(_ref->insert_after(_tpid,(_p1),sos_Object(_p2),(_p3)));}
  381. sos_String sos_Object_Directory::get_role1(sos_Cursor _p1){return sos_String::make(_ref->get_role1(_tpid,(_p1)));}
  382. sos_Object sos_Object_Directory::get_role2(sos_Cursor _p1){return (_ref->get_role2(_tpid,(_p1)));}
  383. void sos_Object_Directory::remove_at(sos_Cursor _p1){(_ref->remove_at(_tpid,_p1));}
  384. sos_Bool sos_Object_Directory::is_valid(sos_Cursor _p1){return (_ref->is_valid(_tpid,_p1));}
  385. sos_Bool sos_Object_Directory::to_first(sos_Cursor _p1){return (_ref->to_first(_tpid,_p1));}
  386. sos_Bool sos_Object_Directory::has_type(sos_Type _p1){return (_ref->has_type(_tpid,_p1));}
  387. void sos_Object_Directory::remove(sos_String _p1){(_ref->remove(_tpid,sos_Object(_p1)));}
  388. sos_Object sos_Object_Directory::lookup(sos_String _p1){return (_sos_Object_Directory::lookup(_p1));}
  389. void sos_Object_Directory::set_wd(sos_String _p1){(_sos_Object_Directory::set_wd(_p1));}
  390. sos_Object_Directory sos_Object_Directory::get_wd(){return (_sos_Object_Directory::get_wd());}
  391. void sos_Object_Directory::local_initialize(sos_Object_Directory _p1){(_sos_Object_Directory::local_initialize(_p1));}
  392. sos_Bool sos_Object_Directory::is_key(sos_String _p1){return (_ref->is_key(_tpid,sos_Object(_p1)));}
  393. sos_String sos_Object_Directory::get_key(sos_Cursor _p1){return sos_String::make(_ref->get_key(_tpid,(_p1)));}
  394. void sos_Object_Directory::move_cursor(sos_Cursor _p1,sos_String _p2){(_ref->move_cursor(_tpid,(_p1),sos_Object(_p2)));}
  395. sos_Bool sos_Object_Directory::is_role1(sos_String _p1){return (_ref->is_role1(_tpid,sos_Object(_p1)));}
  396. sos_Bool sos_Object_Directory::to_succ(sos_Cursor _p1,sos_Int _p2){return (_ref->to_succ(_tpid,_p1,_p2));}
  397. sos_Bool sos_Object_Directory::is_some(sos_Type _p1){return (_ref->is_some(_tpid,_p1));}
  398. sos_Bool sos_Object_Directory::is_value(){return (_ref->is_value(_tpid));}
  399. sos_Bool sos_Object_Directory::identical(sos_Object _p1){return (_ref->identical(_tpid,_p1));}
  400. sos_Comp_result sos_Object_Directory::compare_ids(sos_Object _p1){return (_ref->compare_ids(_tpid,_p1));}
  401. sos_Int sos_Object_Directory::local_hash_value(sos_Object_Directory x){return (_sos_Object_Directory::local_hash_value(x));}
  402. static struct _sos_init_dummy {
  403.    _sos_init_dummy() {_dir_init_sos();}   ~_sos_init_dummy(){}
  404.    } _sos_dummy;
  405. static int _sos_initialized=0;
  406. void _dir_init_sos(){
  407.    if (_sos_initialized) return;
  408.    _sos_initialized=1;
  409.    _knl_init_sos();
  410.    _agg_init_sos();
  411.    _init_stat_7053596_3392();
  412.    _init_new_7053596_3392();
  413.    _init_stat_7053596_3072();
  414.    _init_new_7053596_3072();
  415.    __sos_Object_Directory_obj=new _sos_Object_Directory;
  416.    _init_meth_7053596_1288();
  417.    _init_comp_7053596_1288();
  418.    _init_stat_7053596_1288();
  419.    _init_new_7053596_1288();
  420. }
  421.